Field of the Invention
The present invention relates to computer program deployment and, more particularly, to mobile application deployment to pervasive computing devices in a distributed computing environment.
Description of the Related Art
Integral to the successful implementation of a computer software development project is the ultimate deployment of a fully functioning computing system. Early forms of computing systems involved a single computer program executing in the memory of a single computer. The rise of computer networks in general industry resulted in the expansion of the traditional computing system from the single computer to a client-server architected computing system in which many different computing clients, individually executing a computer program, access program data through one or more coupled host servers. The explosion of Internet computing has further complicated matters resulting in complex computing arrangements, in which logic for a computing system resides and executes across a multiplicity of end user computing devices and remote servers.
The accessibility of the Internet has facilitated the growth and popularity of distributed computing models. In a distributed computing model, substantial processing can be pushed to host servers geographically closest to the end user. One or more controllers determine when program logic or data is best served from a particular remote server for the benefit of a particular end user or class of end users. Given the complexity of the distributed computing architecture, deploying an application into a distributed architecture can be equally as complicated—particularly where access policies determine whether or not an individual end user or class of end users is permitted to deploy a given application onto a given computing device.
The problem of application deployment into a distributed computing environment is most prevalent in a distributed computing environment supporting a multiplicity of pervasive end user mobile devices such personal digital assistants and smart phones. At present, the most popular methodology for application deployment to pervasive devices mimics the ad hoc distribution model. In the ad hoc distribution model, individual end users connect to a remote server providing a menu of applications available for deployment over the Internet to respective pervasive mobile devices. However, there is no way to ensure that the application an individual end user has downloaded and installed to a pervasive end user mobile device is the same application governed by access policies.